#! /bin/bash

#    / **
#    * 文件名：DeleteOldBackFiles.sh
#    * 版权： Copyright 谢振斌  All Rights Reserved.
#    * 描述： 删除几天前的备份文件
#    * 修改人：谢振斌 
#    * 修改时间：2019-07-11
#    * 修改内容：新增
#    */ 

#    / **
#    *〈一句话功能简述〉
#    *〈功能详细描述〉
#    * @param [$1] [要删除的文件所在路径]
#    * @param [$2] [几天前的数值的数值]
#    * @return [返回类型说明]
#    * @exception/throws [违例类型] [违例说明]
#    * @deprecated
#    */
function deleteOldFiles()
{
    # 第一个参数为 $1 为系统时间
    local _filePath=$1
    
    # 第二个参数为 $2 天数
    local _daysValue=$2
    
    # 拼接 打印路径下的文件列表 命令 
    local _cmdStr="ls -al "${_filePath}
    echo "执行命令：${_cmdStr} 打印路径下的文件列表"
    ${_cmdStr}

    # 拼接 打印要删除的文件列表 命令
    local _cmdStr="find "${_filePath}" -mtime +"${_daysValue}
    echo "执行命令：${_cmdStr} 打印要删除的文件列表"
    ${_cmdStr}

    # 拼接 删除筛选出来的文件 命令
    # 命令例子： find /home/sFirst/GitlabZhRepositoriesBackup -mtime +5 |xargs
    #local _cmdStr="find "${_filePath}" '*.zip *.tar' -mtime +"${_daysValue}" |xargs rm -f"
    local _cmdStr="find "${_filePath}"  -mtime +"${_daysValue}" | xargs rm -f"
    echo "执行命令：${_cmdStr} 删除文件"
    # 执行命令
    find "${_filePath}" -mtime +"${_daysValue}" | xargs rm -f

}

#    / **
#    *〈流程控制〉
#    *〈该脚本的主函数〉
#    * @param [无]
#    * @return [无]
#    * @exception/throws [无] 
#    * @deprecated
#    */
function processControlMain()
{
    # 打印当前系统时间
    echo "Start..."
    date
    
    # 此处是你的代码
    local _filePath="/home/sFirst/GitlabZhRepositoriesBackup/"
    local _daysValue=1
    deleteOldFiles ${_filePath} ${_daysValue}
    #echo "${_cmdStr}"

    # 打印当前系统时间
    date
    echo "The End."
}

# 执行入口
if true 
# if false 
then
    echo "true"
    # 开始执行  从标准输入中读取并同时写入到标准输出和指定的文件上
    processControlMain  | tee -a ./deleteFiles.log
else
    echo "false"
    ## 函数单元测试
    # 
fi

# 脚本结束
